﻿using System;
using System.Collections.Generic;
//using System.Linq;
using System.Text;
//using System.Threading.Tasks;
using System.IO.Ports;

namespace RFSwitchArray
{
    interface IRFSwitchArray
    {

        string Model { get; }
        string SN { get; }
        string Manufactory { get; }
        int InPortNumber { get; }
        int OutPortNumber { get; }
        int InPortStartIndex { get; }
        int OutPortStartIndex { get; }
        int StartFrequeny { get; }
        int StopFrequeny { get; }
        int ExchangeTime { get; }
        bool FeedThroughAbility(int InPortIndex, int OutPortIndex);

        int InPortThroughTo(int InPortIndex);
        int OutPortThroughTo(int OutPortIndex);
        bool ExchangeComplete { get; }
        bool Enabled { get; set; }
        void RFSwitchInit(string mPortName);
        void SyncExchange(int InPortIndex, int OutPortIndex);
        void SyncExchange(Dictionary<int, int> InOutPortIndexs);
        void AsynExchange(int InPortIndex, int OutPortIndex);
        void SerialPort_DataReceived(object sender, SerialDataReceivedEventArgs e);
        //新增3
        void delay(long delay_Time);
        int ChannelPoint { get; }
        int ChannelNumber { get; }


    }
}
